<?php
require_once '../../Banco/Conexao.php';
class DaoCategoria {
    public function cadastrar($categoria){
        $conexao = new Conexao();    
        $conexao->conecta();
        $nome = $categoria->getNome();
        try{
            $query = "INSERT INTO categoria(cat_nome) VALUES ('$nome')";
            mysql_query($query) or die ('Erro no cadastro da categoria');
        }  catch (Exception $e){
            echo $e;
        }
        $conexao->desconnecta();
    }
    public function busca(){
        try{
            $conexao = new Conexao();    
            $conexao->conecta();
            $lista = array();
            if(func_num_args() == 1){
                if(is_int(func_get_arg(0))){
                    $query = "SELECT * FROM categoria WHERE cat_id =" . func_get_arg(0);
                }elseif(is_string(func_get_arg(0))){
                    $query = "SELECT * FROM categoria WHERE cat_nome ='" . func_get_arg(0)."'";
                }                
            }elseif (func_num_args() == 0) {
                $query = "SELECT * FROM categoria";
            }
            $consulta = mysql_query($query) or die('Erro na consulta') ;
            while ($linha = mysql_fetch_array($consulta)){
                $categoria = new Categoria();
                $categoria->setId($linha['cat_id']);
                $categoria->setNome($linha['cat_nome']);
                array_push($lista, $categoria);
            }
            return $lista;
        }catch(Exception $e){
            echo $e;
        }
        $conexao->desconnecta();
    }
    
    public function excluir($id){
        try{
            $conexao = new Conexao();    
            $conexao->conecta(); 
            $queryVerifica = "SELECT cat_id FROM produto_categoria WHERE cat_id = $id";
            mysql_query($queryVerifica);
            if(mysql_affected_rows() == 0){
                $query = "DELETE FROM categoria WHERE cat_id = $id";
                mysql_query($query);
            }else{
                print "Não é possivel excluir essa categoria. Há produtos cadastrados com ela.";
            }            
        }catch(Exception $e){
            echo $e;
        }
    }
    
    public function edita($categoria){
        try{
            $conexao = new Conexao();    
            $conexao->conecta();
            $id = $categoria->getId();
            $nome = $categoria->getNome();
            mysql_query("UPDATE categoria SET cat_nome = '$nome' WHERE cat_id = $id");
        }catch(Exception $e){
            echo $e;
        }
    }
    
}

?>
